Notebook for generating mutual rank (MR) clusters

library(snowfall)
Loading required package: snow

First attempt, use RIL means

Get data

box_load(162362592785)

  |                                                                        
  |                                                                  |   0%
  |                                                                        
  |                                                                  |   1%
  |                                                                        
  |=                                                                 |   1%
  |                                                                        
  |=                                                                 |   2%
  |                                                                        
  |==                                                                |   2%
  |                                                                        
  |==                                                                |   3%
  |                                                                        
  |==                                                                |   4%
  |                                                                        
  |===                                                               |   4%
  |                                                                        
  |===                                                               |   5%
  |                                                                        
  |====                                                              |   5%
  |                                                                        
  |====                                                              |   6%
  |                                                                        
  |====                                                              |   7%
  |                                                                        
  |=====                                                             |   7%
  |                                                                        
  |=====                                                             |   8%
  |                                                                        
  |======                                                            |   8%
  |                                                                        
  |======                                                            |   9%
  |                                                                        
  |======                                                            |  10%
  |                                                                        
  |=======                                                           |  10%
  |                                                                        
  |=======                                                           |  11%
  |                                                                        
  |========                                                          |  11%
  |                                                                        
  |========                                                          |  12%
  |                                                                        
  |========                                                          |  13%
  |                                                                        
  |=========                                                         |  13%
  |                                                                        
  |=========                                                         |  14%
  |                                                                        
  |==========                                                        |  14%
  |                                                                        
  |==========                                                        |  15%
  |                                                                        
  |==========                                                        |  16%
  |                                                                        
  |===========                                                       |  16%
  |                                                                        
  |===========                                                       |  17%
  |                                                                        
  |============                                                      |  17%
  |                                                                        
  |============                                                      |  18%
  |                                                                        
  |============                                                      |  19%
  |                                                                        
  |=============                                                     |  19%
  |                                                                        
  |=============                                                     |  20%
  |                                                                        
  |==============                                                    |  20%
  |                                                                        
  |==============                                                    |  21%
  |                                                                        
  |==============                                                    |  22%
  |                                                                        
  |===============                                                   |  22%
  |                                                                        
  |===============                                                   |  23%
  |                                                                        
  |================                                                  |  23%
  |                                                                        
  |================                                                  |  24%
  |                                                                        
  |================                                                  |  25%
  |                                                                        
  |=================                                                 |  25%
  |                                                                        
  |=================                                                 |  26%
  |                                                                        
  |=================                                                 |  27%
  |                                                                        
  |==================                                                |  27%
  |                                                                        
  |==================                                                |  28%
  |                                                                        
  |===================                                               |  28%
  |                                                                        
  |===================                                               |  29%
  |                                                                        
  |===================                                               |  30%
  |                                                                        
  |====================                                              |  30%
  |                                                                        
  |====================                                              |  31%
  |                                                                        
  |=====================                                             |  31%
  |                                                                        
  |=====================                                             |  32%
  |                                                                        
  |=====================                                             |  33%
  |                                                                        
  |======================                                            |  33%
  |                                                                        
  |======================                                            |  34%
  |                                                                        
  |=======================                                           |  34%
  |                                                                        
  |=======================                                           |  35%
  |                                                                        
  |=======================                                           |  36%
  |                                                                        
  |========================                                          |  36%
  |                                                                        
  |========================                                          |  37%
  |                                                                        
  |=========================                                         |  37%
  |                                                                        
  |=========================                                         |  38%
  |                                                                        
  |=========================                                         |  39%
  |                                                                        
  |==========================                                        |  39%
  |                                                                        
  |==========================                                        |  40%
  |                                                                        
  |===========================                                       |  40%
  |                                                                        
  |===========================                                       |  41%
  |                                                                        
  |===========================                                       |  42%
  |                                                                        
  |============================                                      |  42%
  |                                                                        
  |============================                                      |  43%
  |                                                                        
  |=============================                                     |  43%
  |                                                                        
  |=============================                                     |  44%
  |                                                                        
  |=============================                                     |  45%
  |                                                                        
  |==============================                                    |  45%
  |                                                                        
  |==============================                                    |  46%
  |                                                                        
  |===============================                                   |  46%
  |                                                                        
  |===============================                                   |  47%
  |                                                                        
  |===============================                                   |  48%
  |                                                                        
  |================================                                  |  48%
  |                                                                        
  |================================                                  |  49%
  |                                                                        
  |=================================                                 |  49%
  |                                                                        
  |=================================                                 |  50%
  |                                                                        
  |=================================                                 |  51%
  |                                                                        
  |==================================                                |  51%
  |                                                                        
  |==================================                                |  52%
  |                                                                        
  |===================================                               |  52%
  |                                                                        
  |===================================                               |  53%
  |                                                                        
  |===================================                               |  54%
  |                                                                        
  |====================================                              |  54%
  |                                                                        
  |====================================                              |  55%
  |                                                                        
  |=====================================                             |  55%
  |                                                                        
  |=====================================                             |  56%
  |                                                                        
  |=====================================                             |  57%
  |                                                                        
  |======================================                            |  57%
  |                                                                        
  |======================================                            |  58%
  |                                                                        
  |=======================================                           |  58%
  |                                                                        
  |=======================================                           |  59%
  |                                                                        
  |=======================================                           |  60%
  |                                                                        
  |========================================                          |  60%
  |                                                                        
  |========================================                          |  61%
  |                                                                        
  |=========================================                         |  61%
  |                                                                        
  |=========================================                         |  62%
  |                                                                        
  |=========================================                         |  63%
  |                                                                        
  |==========================================                        |  63%
  |                                                                        
  |==========================================                        |  64%
  |                                                                        
  |===========================================                       |  64%
  |                                                                        
  |===========================================                       |  65%
  |                                                                        
  |===========================================                       |  66%
  |                                                                        
  |============================================                      |  66%
  |                                                                        
  |============================================                      |  67%
  |                                                                        
  |=============================================                     |  67%
  |                                                                        
  |=============================================                     |  68%
  |                                                                        
  |=============================================                     |  69%
  |                                                                        
  |==============================================                    |  69%
  |                                                                        
  |==============================================                    |  70%
  |                                                                        
  |===============================================                   |  70%
  |                                                                        
  |===============================================                   |  71%
  |                                                                        
  |===============================================                   |  72%
  |                                                                        
  |================================================                  |  72%
  |                                                                        
  |================================================                  |  73%
  |                                                                        
  |=================================================                 |  73%
  |                                                                        
  |=================================================                 |  74%
  |                                                                        
  |=================================================                 |  75%
  |                                                                        
  |==================================================                |  75%
  |                                                                        
  |==================================================                |  76%
  |                                                                        
  |==================================================                |  77%
  |                                                                        
  |===================================================               |  77%
  |                                                                        
  |===================================================               |  78%
  |                                                                        
  |====================================================              |  78%
  |                                                                        
  |====================================================              |  79%
  |                                                                        
  |====================================================              |  80%
  |                                                                        
  |=====================================================             |  80%
  |                                                                        
  |=====================================================             |  81%
  |                                                                        
  |======================================================            |  81%
  |                                                                        
  |======================================================            |  82%
  |                                                                        
  |======================================================            |  83%
  |                                                                        
  |=======================================================           |  83%
  |                                                                        
  |=======================================================           |  84%
  |                                                                        
  |========================================================          |  84%
  |                                                                        
  |========================================================          |  85%
  |                                                                        
  |========================================================          |  86%
  |                                                                        
  |=========================================================         |  86%
  |                                                                        
  |=========================================================         |  87%
  |                                                                        
  |==========================================================        |  87%
  |                                                                        
  |==========================================================        |  88%
  |                                                                        
  |==========================================================        |  89%
  |                                                                        
  |===========================================================       |  89%
  |                                                                        
  |===========================================================       |  90%
  |                                                                        
  |============================================================      |  90%
  |                                                                        
  |============================================================      |  91%
  |                                                                        
  |============================================================      |  92%
  |                                                                        
  |=============================================================     |  92%
  |                                                                        
  |=============================================================     |  93%
  |                                                                        
  |==============================================================    |  93%
  |                                                                        
  |==============================================================    |  94%
  |                                                                        
  |==============================================================    |  95%
  |                                                                        
  |===============================================================   |  95%
  |                                                                        
  |===============================================================   |  96%
  |                                                                        
  |================================================================  |  96%
  |                                                                        
  |================================================================  |  97%
  |                                                                        
  |================================================================  |  98%
  |                                                                        
  |================================================================= |  98%
  |                                                                        
  |================================================================= |  99%
  |                                                                        
  |==================================================================|  99%
  |                                                                        
  |==================================================================| 100%

Summarize means

save(voom.fit,fil="~/Box Sync/BrapaNetworks/voom.fit.Rdata")
Error in save(voom.fit, fil = "~/Box Sync/BrapaNetworks/voom.fit.Rdata") : 
  object ‘~/Box Sync/BrapaNetworks/voom.fit.Rdata’ not found

So pretty much everything is highly significant

Start by taking the top 10000

genes.of.interest <- row.names(RIL.pvals)[1:10000]
expr.data <- voom.fit$coefficients[genes.of.interest,]
expr.data <- expr.data[,-grep("trt",colnames(expr.data))]
dim(expr.data)
[1] 10000   124
head(expr.data)
          (Intercept) pdata$RILRIL_103 pdata$RILRIL_104 pdata$RILRIL_113 pdata$RILRIL_115 pdata$RILRIL_12 pdata$RILRIL_123 pdata$RILRIL_124 pdata$RILRIL_131
Bra001964    1.082235       -4.0321896     -4.091759090        3.6994071       0.01722016      0.64266465        3.6131838       -2.8352035      3.447270788
Bra002728    5.767475       -0.5505380     -0.380674984       -3.2039164      -0.60526951     -0.81853556       -3.4589700       -3.5150262     -3.763726065
Bra002785    7.202490       -0.4198373     -0.037837754       -1.9963410      -0.04677711     -0.05993573       -2.1677690       -1.9993862     -2.291429445
Bra004960    4.733936       -3.8185006     -0.004181862       -0.2564264       0.14101788     -0.22825526       -0.6248645       -3.2303378     -3.459909583
Bra006384    4.969959       -6.8228958     -7.276735466       -0.3784078      -8.39926386     -7.41766487       -0.3806267       -0.4608661     -0.152920761
Bra006411   -2.499584        6.3062481     -0.470837158        0.1143828      -0.72175621     -1.10891611       -1.1620599        6.2134804      0.008597988
          pdata$RILRIL_136 pdata$RILRIL_143 pdata$RILRIL_146 pdata$RILRIL_147 pdata$RILRIL_15 pdata$RILRIL_150 pdata$RILRIL_154 pdata$RILRIL_155 pdata$RILRIL_16
Bra001964       -2.7013520        3.9531932        -2.137003        3.8727315       -1.844875       3.82995446      -3.32072094        3.8341536     3.645469428
Bra002728       -0.8643973       -0.6859454        -3.575290       -0.7139419       -3.648528      -0.54208110      -0.54184736       -0.3414411    -0.527322860
Bra002785        0.1111586       -0.1573606        -1.996145        0.0913652       -2.072959      -0.17730162      -0.05973240       -0.1076163    -0.141110644
Bra004960       -3.1767722       -3.7877835        -3.826322       -0.1778062       -3.823915      -0.02194038      -0.06163184       -3.3049509    -0.001964347
Bra006384       -0.1949559       -0.2174621        -0.268625       -6.1696282       -6.245272      -7.54455931      -6.80442848       -6.9954140    -7.357271932
Bra006411       -0.6794655       -0.1858673         1.040992        0.1705054        6.005043       6.38883150      -0.52824769        6.4219694     6.321877192
          pdata$RILRIL_164 pdata$RILRIL_166 pdata$RILRIL_171 pdata$RILRIL_174 pdata$RILRIL_175 pdata$RILRIL_176 pdata$RILRIL_182 pdata$RILRIL_183 pdata$RILRIL_184
Bra001964         3.212995      -3.52488219        -3.183956        3.9698944        3.8578812        3.6950719       -0.2901541      -4.31600771        3.8406820
Bra002728        -3.318227      -0.52510344        -3.784483       -0.4955387       -0.6376530       -0.4934072       -0.3854613      -0.39297315       -0.8917755
Bra002785        -2.296361      -0.04231166        -2.115108       -0.1911463       -0.1463134       -0.3919308       -0.4899403      -0.06608639       -0.2365228
Bra004960        -3.838495      -3.74581405        -3.349047       -3.9037685       -0.1614102       -0.2211650       -3.6020278       0.15748259       -3.1730461
Bra006384        -7.164001      -6.96733609        -7.556419       -0.2247922       -0.3388876       -6.4132492       -0.1721033      -7.90900916       -0.3785335
Bra006411        -1.840985       6.32148369         6.393611        0.5896596       -0.7447210       -0.4045582        6.1539254      -0.67620123        0.4467270
          pdata$RILRIL_187 pdata$RILRIL_190 pdata$RILRIL_193 pdata$RILRIL_198 pdata$RILRIL_199 pdata$RILRIL_2 pdata$RILRIL_201 pdata$RILRIL_204 pdata$RILRIL_205
Bra001964       -4.6366460       -2.9819298        3.7899078         3.807061        3.5689148      3.7484969        -3.430264         3.779097       -3.5757733
Bra002728       -0.6933655       -3.3997308       -0.6567367        -3.259573       -0.5058403     -0.5388401        -3.375164        -3.363768       -0.5610140
Bra002785       -0.4681067       -2.0754365       -0.1426906        -2.055292       -0.3035855     -0.3874231        -2.290830        -2.164793       -0.3880579
Bra004960       -3.8036770       -3.4921676       -3.3139182        -3.473380       -0.3911074     -3.6774151        -3.708833        -3.772911       -3.4880233
Bra006384       -7.0051280       -0.1495298       -0.1448483        -6.957593       -7.9961288     -0.2478351        -6.577501        -5.906352       -5.7421265
Bra006411        6.1113273        6.0199346       -0.8270612         6.416346        6.0421259     -0.3469907         6.334644         6.159454       -0.6052733
          pdata$RILRIL_206 pdata$RILRIL_207 pdata$RILRIL_208 pdata$RILRIL_21 pdata$RILRIL_211 pdata$RILRIL_212 pdata$RILRIL_213 pdata$RILRIL_215 pdata$RILRIL_222
Bra001964         3.880691        3.3828140       -0.1966156      -0.3958837       0.23450377        3.7204649        3.7298277        3.2713614        3.6393383
Bra002728        -3.761977       -0.6121855       -3.4673739      -0.2912576      -0.87593906       -0.5664787       -0.2906569       -3.3112468       -3.2993871
Bra002785        -2.056439       -0.3648677       -2.1935301      -0.4272963      -0.06998266       -0.2354231       -0.2177025       -2.1692523       -1.8157214
Bra004960        -3.408132       -3.6151195       -3.6650140      -3.4554714      -0.21103053       -3.4805881       -3.9208791       -3.7674019       -3.2889409
Bra006384        -7.350506       -6.2757201       -7.1451547      -0.1498087      -6.66569148       -7.7207016       -0.2840201        0.1454691        0.0254414
Bra006411         6.179298        6.0931093        6.3906458       6.0523161      -0.38781617        6.3215272       -1.1312831        6.1843248        6.4190943
          pdata$RILRIL_223 pdata$RILRIL_225 pdata$RILRIL_228 pdata$RILRIL_229 pdata$RILRIL_23 pdata$RILRIL_232 pdata$RILRIL_234 pdata$RILRIL_235 pdata$RILRIL_240
Bra001964        3.7689147        0.1538411         3.686992      -3.57184005      -3.4189325       3.52142433        3.2289476        3.7530476       4.22611954
Bra002728       -0.8714269       -3.3875744        -3.219511      -0.55743571      -3.4591538      -3.41929785       -0.3449081       -3.3133156      -1.09828798
Bra002785       -0.1493864       -2.2130162        -1.905138      -0.31263958      -2.1685253      -1.99237889       -0.5217961       -2.4382430       0.08833911
Bra004960       -3.3154685       -3.9053096        -3.876690      -3.78409654      -0.2744527      -0.03734805       -3.8183546       -3.0557120      -0.05180437
Bra006384       -7.5136434       -7.1726709        -0.180079      -0.20023160      -6.2937009      -0.19022438       -6.2238024       -0.3653308      -7.46880852
Bra006411        6.2876465       -0.4772525        -1.230937       0.02912839       6.0872316       6.18488170        0.4420213        0.2433281      -0.88540117
          pdata$RILRIL_242 pdata$RILRIL_243 pdata$RILRIL_248 pdata$RILRIL_25 pdata$RILRIL_250 pdata$RILRIL_251 pdata$RILRIL_253 pdata$RILRIL_255 pdata$RILRIL_256
Bra001964         3.408734       0.73519254       -3.3614934      -4.1080974        3.7043499      -3.39267686       -3.5972015      -4.57931560       -3.5990012
Bra002728        -3.472632      -0.69982249       -3.3818374      -0.5454432       -0.4893497      -0.37090763       -0.6239726      -0.63621999       -3.1550108
Bra002785        -2.153605      -0.06319596       -1.9777966      -0.2052215        0.2213896      -0.57254899       -0.3851680      -0.25845193       -2.1468119
Bra004960        -3.763394      -3.50815700       -0.2316513      -3.6247952       -0.2218158       0.29740732       -0.6462837      -4.06776858       -4.1103828
Bra006384        -6.669262      -6.34412452       -7.5160278      -0.3686753       -0.2707281       0.07759059       -6.7255826       0.01784094       -6.4258153
Bra006411         6.198855       6.20678883        6.2576183       6.3313488        6.3160841       6.25014985        6.1941294       6.31804278       -0.3762349
          pdata$RILRIL_259 pdata$RILRIL_264 pdata$RILRIL_265 pdata$RILRIL_267 pdata$RILRIL_268 pdata$RILRIL_270 pdata$RILRIL_277 pdata$RILRIL_281 pdata$RILRIL_282
Bra001964       -4.0001493        3.8764380        0.1437703        3.9955996        3.9148454       -2.5405464      -2.71647189       -0.3022578        3.4384641
Bra002728       -3.4801726       -3.5379964       -3.6183014       -3.4930655       -3.6040317       -3.6396153      -0.59553883       -3.1909134       -0.2620543
Bra002785       -2.1490253       -2.2373581       -1.9430117       -2.1987667       -2.0095493       -2.1251230      -1.99207981       -2.0326766       -0.6052902
Bra004960       -3.8797008       -0.2170593       -0.2619773       -0.2548596       -3.4155316        0.2059798      -3.57383516       -3.5564962       -3.6712755
Bra006384       -7.4480854       -6.5916833       -0.3604226       -6.7593919       -0.2770453       -0.2857078       0.08634853       -0.3123907       -6.1821505
Bra006411       -0.5028681        6.4666495       -0.4874801       -0.6924823        6.1783602        6.6371249       0.10386305       -0.8604395        5.7877668
          pdata$RILRIL_284 pdata$RILRIL_285 pdata$RILRIL_288 pdata$RILRIL_289 pdata$RILRIL_290 pdata$RILRIL_294 pdata$RILRIL_30 pdata$RILRIL_300 pdata$RILRIL_301
Bra001964        3.7006294        3.5179668       -2.1767323        3.8448285      -4.55889644        3.5994185      -2.7213018       -0.3556130        0.3120732
Bra002728       -0.2669835       -0.8425953       -0.6924283       -0.4156336      -0.30151981       -3.5207049      -3.3431448       -0.4863055       -0.5624889
Bra002785       -0.3142387       -0.3736672       -0.1161736       -0.0113959      -0.35416045       -2.1812007      -2.0830447       -0.3216474       -0.2824083
Bra004960       -3.6615439       -3.7755365       -0.1273193       -0.1199984      -3.48770351       -0.1550986      -0.2317766       -3.2720952       -0.2796088
Bra006384       -7.0895158       -7.0197303       -6.5696447       -0.1801703      -0.03079028       -7.6364646      -6.2950011       -0.1853093       -0.1331340
Bra006411        6.1290650       -0.9157409        6.2417915       -0.9812906       6.17377468        6.2746637       0.3577036       -1.1500123        0.3524955
          pdata$RILRIL_303 pdata$RILRIL_308 pdata$RILRIL_31 pdata$RILRIL_311 pdata$RILRIL_318 pdata$RILRIL_325 pdata$RILRIL_329 pdata$RILRIL_332 pdata$RILRIL_337
Bra001964       3.60659393        3.6248335      -0.2696633       -2.5164443       3.49120169       -0.0680907       -3.5609622      -2.95488434         3.546517
Bra002728      -3.62822826       -0.6821739      -3.2362257       -3.4318801      -3.07089200       -3.4055799       -0.4930899      -0.63513192        -3.197417
Bra002785      -2.18520256       -0.1887345      -2.0981129       -2.4493845      -2.01990990       -2.0133385       -0.2515634      -0.15353065        -2.120596
Bra004960      -4.07093957       -3.5607205      -3.7012635       -0.4422787      -0.07833203       -3.4460046       -0.3438728      -0.05558499        -3.014790
Bra006384       0.03362311       -0.2029294      -0.2831751       -5.7990254      -0.07548398       -0.4021792       -0.2272851      -6.25523313        -7.391237
Bra006411      -0.59385762       -0.8692539      -0.9245282        0.2521411      -0.86056386       -0.1632287       -0.2450615       6.06528530         6.239817
          pdata$RILRIL_339 pdata$RILRIL_340 pdata$RILRIL_341 pdata$RILRIL_344 pdata$RILRIL_346 pdata$RILRIL_347 pdata$RILRIL_353 pdata$RILRIL_354 pdata$RILRIL_355
Bra001964      -0.01162148       0.02641149         3.655514      -2.47108433        0.3616112        3.4389395        3.0214216        3.6784961       3.75633444
Bra002728      -3.57937942      -0.67258502        -3.560375      -0.49802619       -0.5634511       -3.5984131       -0.6102168       -3.5178168      -0.77955228
Bra002785      -2.16571124      -0.18212913        -2.100052      -0.07351421       -0.3152473       -1.9816915       -0.4352635       -2.0829672      -0.02174924
Bra004960      -0.23937345      -3.54458416        -3.591435       0.08902805       -4.7334046       -3.9120024       -0.2034601       -3.6213620       0.01188531
Bra006384      -6.75870986      -0.25732243        -6.714230      -7.75217634       -0.2697472       -0.1230117       -0.2271198       -6.8351148      -7.42250420
Bra006411       6.32118172      -1.07360824         6.249627       6.37490270        0.2286653        6.2025853        6.0813081       -0.4949635      -0.47606798
          pdata$RILRIL_357 pdata$RILRIL_359 pdata$RILRIL_36 pdata$RILRIL_360 pdata$RILRIL_363 pdata$RILRIL_373 pdata$RILRIL_376 pdata$RILRIL_380 pdata$RILRIL_39
Bra001964        3.6950383       -4.3100033      -3.4271657       -0.1489218       -0.5445361       -3.9653698       -0.2010560       -3.6490720      3.91047287
Bra002728       -0.2527862       -3.3415918      -3.6164326       -0.4682479       -0.2100008       -0.4537577       -0.5470229       -3.4234016     -0.41019443
Bra002785       -0.2999994       -2.1157399      -2.0312578       -0.3414427       -0.2052659       -0.2916429       -0.3403611       -2.2532435     -0.06625443
Bra004960       -3.9275272       -0.2678642      -3.6541579       -3.4637913       -3.7959394       -3.2289108       -3.7681574       -4.5935767     -3.17690769
Bra006384       -7.0343445       -0.2645841      -6.2595434       -7.3149322       -7.8960576       -0.1749034       -0.1678692       -6.1225205     -6.80267807
Bra006411        6.3292925        6.2388169      -0.6247356        6.3842554        6.3180029       -1.2156699        6.0675522       -0.6898986     -0.97945774
          pdata$RILRIL_42 pdata$RILRIL_46 pdata$RILRIL_53 pdata$RILRIL_60 pdata$RILRIL_63 pdata$RILRIL_65 pdata$RILRIL_66 pdata$RILRIL_69 pdata$RILRIL_7
Bra001964      -1.6696365     -2.45755109       3.8009648       3.8616843        3.688927       3.8619166        3.732366      3.76925678     -2.9895379
Bra002728      -0.6026008     -0.88788872      -3.6785906      -0.2732147       -3.639999      -0.6702721       -3.772119     -0.24172681     -3.3308452
Bra002785      -0.2135141     -0.06784988      -0.1588895      -0.2503654       -2.120015      -0.1740634       -2.090807     -0.28009513     -2.0476553
Bra004960      -0.3617700     -0.29346605      -3.2783591      -3.3238691       -3.915466      -0.2696298       -3.402791     -0.06060135     -0.1012762
Bra006384      -6.7250769     -8.03368163      -7.7442311      -0.3747482       -7.614690      -0.2746950       -7.004992     -0.41627814     -8.0957066
Bra006411       6.1997353     -0.85352764      -0.8193951       6.5327260        6.158132      -0.2632065        6.167896      6.37121259      6.3591938
          pdata$RILRIL_70 pdata$RILRIL_73 pdata$RILRIL_76 pdata$RILRIL_80 pdata$RILRIL_89 pdata$RILRIL_9 pdata$RILRIL_93
Bra001964       4.0048405      3.77585306       3.7949582    -4.242327611      3.74560848      3.7594012      -2.7128624
Bra002728      -3.2976716     -3.49460179      -3.3350112    -0.519072420     -3.29589773     -0.6131951      -3.3799803
Bra002785      -1.9764443     -2.16236712      -2.3125409    -0.325579367     -2.12069734     -0.1964153      -2.2883087
Bra004960      -3.5095994     -0.03854085      -3.5955690    -0.006277264      0.02658294     -4.0556836      -0.3863463
Bra006384      -0.2067974     -6.92802940      -6.6342875    -7.688310494     -6.91719911     -7.1550888      -0.1827234
Bra006411      -0.7025772     -0.63662693      -0.9078589     6.186915132      6.28075835      6.5101318      -0.7522049
expr.data[,-1] <- expr.data[,-1] + expr.data[,1] # add the intercept to the coefficients
colnames(expr.data) <- sub("pdata$RIL","",colnames(expr.data),fixed=TRUE)
head(expr.data)
          (Intercept)    RIL_103   RIL_104   RIL_113   RIL_115    RIL_12   RIL_123   RIL_124   RIL_131   RIL_136    RIL_143   RIL_146   RIL_147     RIL_15   RIL_150
Bra001964    1.082235 -2.9499545 -3.009524  4.781642  1.099455  1.724900  4.695419 -1.752968  4.529506 -1.619117  5.0354283 -1.054767  4.954967 -0.7626394  4.912190
Bra002728    5.767475  5.2169367  5.386800  2.563558  5.162205  4.948939  2.308505  2.252449  2.003749  4.903077  5.0815293  2.192185  5.053533  2.1189468  5.225394
Bra002785    7.202490  6.7826522  7.164652  5.206149  7.155712  7.142554  5.034721  5.203103  4.911060  7.313648  7.0451290  5.206344  7.293855  5.1295302  7.025188
Bra004960    4.733936  0.9154359  4.729755  4.477510  4.874954  4.505681  4.109072  1.503599  1.274027  1.557164  0.9461529  0.907614  4.556130  0.9100218  4.711996
Bra006384    4.969959 -1.8529365 -2.306776  4.591552 -3.429305 -2.447706  4.589333  4.509093  4.817039  4.775003  4.7524972  4.701334 -1.199669 -1.2753131 -2.574600
Bra006411   -2.499584  3.8066642 -2.970421 -2.385201 -3.221340 -3.608500 -3.661644  3.713897 -2.490986 -3.179049 -2.6854511 -1.458592 -2.329079  3.5054590  3.889248
            RIL_154   RIL_155    RIL_16    RIL_164    RIL_166   RIL_171    RIL_174   RIL_175   RIL_176   RIL_182   RIL_183   RIL_184    RIL_187   RIL_190   RIL_193
Bra001964 -2.238486  4.916389  4.727705  4.2952306 -2.4426470 -2.101721  5.0521295  4.940116  4.777307 0.7920811 -3.233773  4.922917 -3.5544109 -1.899695  4.872143
Bra002728  5.225627  5.426034  5.240152  2.4492478  5.2423713  1.982992  5.2719360  5.129822  5.274068 5.3820134  5.374502  4.875699  5.0741092  2.367744  5.110738
Bra002785  7.142757  7.094873  7.061379  4.9061285  7.1601779  5.087381  7.0113432  7.056176  6.810559 6.7125493  7.136403  6.965967  6.7343828  5.127053  7.059799
Bra004960  4.672305  1.428986  4.731972  0.8954409  0.9881224  1.384890  0.8301679  4.572526  4.512771 1.1319086  4.891419  1.560890  0.9302595  1.241769  1.420018
Bra006384 -1.834469 -2.025455 -2.387313 -2.1940421 -1.9973768 -2.586460  4.7451671  4.631072 -1.443290 4.7978561 -2.939050  4.591426 -2.0351687  4.820429  4.825111
Bra006411 -3.027832  3.922386  3.822293 -4.3405686  3.8218998  3.894027 -1.9099243 -3.244305 -2.904142 3.6543415 -3.175785 -2.052857  3.6117434  3.520351 -3.326645
            RIL_198   RIL_199     RIL_2   RIL_201    RIL_204    RIL_205   RIL_206   RIL_207    RIL_208    RIL_21   RIL_211   RIL_212    RIL_213   RIL_215  RIL_222
Bra001964  4.889296  4.651150  4.830732 -2.348029  4.8613317 -2.4935382  4.962926  4.465049  0.8856195 0.6863515  1.316739  4.802700  4.8120629 4.3535965 4.721573
Bra002728  2.507901  5.261634  5.228635  2.392311  2.4037066  5.2064607  2.005498  5.155289  2.3001008 5.4762171  4.891536  5.200996  5.4768178 2.4562279 2.468088
Bra002785  5.147198  6.898904  6.815066  4.911660  5.0376970  6.8144317  5.146051  6.837622  5.0089595 6.7751933  7.132507  6.967066  6.9847870 5.0332373 5.386768
Bra004960  1.260557  4.342829  1.056521  1.025104  0.9610252  1.2459132  1.325804  1.118817  1.0689224 1.2784650  4.522906  1.253348  0.8130573 0.9665345 1.444996
Bra006384 -1.987634 -3.026169  4.722124 -1.607542 -0.9363929 -0.7721672 -2.380547 -1.305761 -2.1751954 4.8201506 -1.695732 -2.750742  4.6859392 5.1154284 4.995401
Bra006411  3.916762  3.542542 -2.846575  3.835061  3.6598704 -3.1048572  3.679714  3.593525  3.8910620 3.5527323 -2.887400  3.821943 -3.6308670 3.6847409 3.919510
            RIL_223    RIL_225    RIL_228    RIL_229    RIL_23  RIL_232    RIL_234   RIL_235   RIL_240    RIL_242   RIL_243   RIL_248    RIL_25  RIL_250   RIL_251
Bra001964  4.851150  1.2360763  4.7692273 -2.4896049 -2.336697 4.603659  4.3111828  4.835283  5.308355  4.4909693  1.817428 -2.279258 -3.025862 4.786585 -2.310442
Bra002728  4.896048  2.3799003  2.5479633  5.2100390  2.308321 2.348177  5.4225666  2.454159  4.669187  2.2948426  5.067652  2.385637  5.222032 5.278125  5.396567
Bra002785  7.053103  4.9894733  5.2973517  6.8898500  5.033964 5.210111  6.6806935  4.764247  7.290829  5.0488844  7.139294  5.224693  6.997268 7.423879  6.629941
Bra004960  1.418468  0.8286268  0.8572469  0.9498399  4.459484 4.696588  0.9155818  1.678224  4.682132  0.9705429  1.225779  4.502285  1.109141 4.512121  5.031344
Bra006384 -2.543684 -2.2027116  4.7898803  4.7697277 -1.323742 4.779735 -1.2538431  4.604628 -2.498849 -1.6993030 -1.374165 -2.546069  4.601284 4.699231  5.047550
Bra006411  3.788063 -2.9768363 -3.7305205 -2.4704555  3.587648 3.685298 -2.0575626 -2.256256 -3.384985  3.6992716  3.707205  3.758034  3.831765 3.816500  3.750566
            RIL_253    RIL_255    RIL_256    RIL_259   RIL_264   RIL_265   RIL_267  RIL_268   RIL_270   RIL_277    RIL_281   RIL_282   RIL_284    RIL_285   RIL_288
Bra001964 -2.514966 -3.4970804 -2.5167661 -2.9179142  4.958673  1.226005  5.077835 4.997081 -1.458311 -1.634237  0.7799774  4.520699  4.782865  4.6002019 -1.094497
Bra002728  5.143502  5.1312547  2.6124639  2.2873021  2.229478  2.149173  2.274409 2.163443  2.127859  5.171936  2.5765613  5.505420  5.500491  4.9248794  5.075046
Bra002785  6.817322  6.9440376  5.0556777  5.0534642  4.965131  5.259478  5.003723 5.192940  5.077367  5.210410  5.1698129  6.597199  6.888251  6.8288223  7.086316
Bra004960  4.087653  0.6661679  0.6235536  0.8542357  4.516877  4.471959  4.479077 1.318405  4.939916  1.160101  1.1774402  1.062661  1.072393  0.9583999  4.606617
Bra006384 -1.755623  4.9878002 -1.4558560 -2.4781261 -1.621724  4.609537 -1.789433 4.692914  4.684252  5.056308  4.6575686 -1.212191 -2.119557 -2.0497710 -1.599685
Bra006411  3.694545  3.8184589 -2.8758188 -3.0024520  3.967066 -2.987064 -3.192066 3.678776  4.137541 -2.395721 -3.3600233  3.288183  3.629481 -3.4153248  3.742208
            RIL_289   RIL_290   RIL_294    RIL_30    RIL_300   RIL_301    RIL_303   RIL_308     RIL_31    RIL_311   RIL_318   RIL_325   RIL_329   RIL_332   RIL_337
Bra001964  4.927064 -3.476661  4.681654 -1.639067  0.7266222  1.394308  4.6888291  4.707069  0.8125718 -1.4342091  4.573437  1.014144 -2.478727 -1.872649  4.628753
Bra002728  5.351841  5.465955  2.246770  2.424330  5.2811692  5.204986  2.1392465  5.085301  2.5312490  2.3355946  2.696583  2.361895  5.274385  5.132343  2.570058
Bra002785  7.191094  6.848329  5.021289  5.119445  6.8808421  6.920081  5.0172870  7.013755  5.1043766  4.7531050  5.182580  5.189151  6.950926  7.048959  5.081894
Bra004960  4.613938  1.246233  4.578838  4.502160  1.4618412  4.454328  0.6629969  1.173216  1.0326729  4.2916577  4.655604  1.287932  4.390064  4.678351  1.719146
Bra006384  4.789789  4.939169 -2.666505 -1.325042  4.7846500  4.836825  5.0035824  4.767030  4.6867842 -0.8290661  4.894475  4.567780  4.742674 -1.285274 -2.421278
Bra006411 -3.480874  3.674191  3.775080 -2.141880 -3.6495962 -2.147088 -3.0934415 -3.368838 -3.4241121 -2.2474428 -3.360148 -2.662813 -2.744645  3.565701  3.740233
            RIL_339   RIL_340   RIL_341   RIL_344       RIL_346  RIL_347  RIL_353   RIL_354   RIL_355    RIL_357   RIL_359    RIL_36    RIL_360    RIL_363   RIL_373
Bra001964  1.070614  1.108647  4.737749 -1.388849  1.4438463204 4.521175 4.103657  4.760731  4.838570  4.7772734 -3.227768 -2.344931  0.9333133  0.5376991 -2.883135
Bra002728  2.188095  5.094890  2.207100  5.269449  5.2040236047 2.169062 5.157258  2.249658  4.987922  5.5146886  2.425883  2.151042  5.2992268  5.5574739  5.313717
Bra002785  5.036778  7.020360  5.102438  7.128975  6.8872422043 5.220798 6.767226  5.119522  7.180740  6.9024902  5.086750  5.171232  6.8610468  6.9972236  6.910847
Bra004960  4.494563  1.189352  1.142502  4.822964  0.0005318176 0.821934 4.530476  1.112574  4.745822  0.8064092  4.466072  1.079779  1.2701452  0.9379970  1.505026
Bra006384 -1.788751  4.712637 -1.744271 -2.782217  4.7002120898 4.846948 4.742840 -1.865155 -2.452545 -2.0643852  4.705375 -1.289584 -2.3449728 -2.9260982  4.795056
Bra006411  3.821598 -3.573192  3.750043  3.875319 -2.2709185825 3.703001 3.581724 -2.994547 -2.975652  3.8297086  3.739233 -3.124320  3.8846715  3.8184191 -3.715254
            RIL_376    RIL_380    RIL_39     RIL_42    RIL_46    RIL_53   RIL_60     RIL_63    RIL_65    RIL_66   RIL_69     RIL_7    RIL_70    RIL_73    RIL_76
Bra001964 0.8811791 -2.5668369  4.992708 -0.5874014 -1.375316  4.883200 4.943919  4.7711623  4.944152  4.814601 4.851492 -1.907303  5.087076  4.858088  4.877193
Bra002728 5.2204518  2.3440732  5.357280  5.1648739  4.879586  2.088884 5.494260  2.1274757  5.097203  1.995355 5.525748  2.436629  2.469803  2.272873  2.432464
Bra002785 6.8621284  4.9492460  7.136235  6.9889754  7.134640  7.043600 6.952124  5.0824744  7.028426  5.111683 6.922394  5.154834  5.226045  5.040122  4.889949
Bra004960 0.9657791  0.1403597  1.557029  4.3721665  4.440470  1.455577 1.410067  0.8184701  4.464307  1.331146 4.673335  4.632660  1.224337  4.695396  1.138367
Bra006384 4.8020901 -1.1525612 -1.832719 -1.7551176 -3.063722 -2.774272 4.595211 -2.6447302  4.695264 -2.035032 4.553681 -3.125747  4.763162 -1.958070 -1.664328
Bra006411 3.5679683 -3.1894824 -3.479042  3.7001514 -3.353112 -3.318979 4.033142  3.6585484 -2.762790  3.668312 3.871629  3.859610 -3.202161 -3.136211 -3.407443
             RIL_80    RIL_89      RIL_9    RIL_93
Bra001964 -3.160092  4.827844  4.8416364 -1.630627
Bra002728  5.248402  2.471577  5.1542796  2.387494
Bra002785  6.876910  5.081792  7.0060742  4.914181
Bra004960  4.727659  4.760519  0.6782528  4.347590
Bra006384 -2.718351 -1.947240 -2.1851295  4.787236
Bra006411  3.687331  3.781174  4.0105479 -3.251789

Get Rob’s Data

blups2011 <- box_read_csv(164446516413)
Remote file '/var/folders/xr/9cbydt955pj42zfq6mc_y5g40000gn/T//RtmpYRCgLR/Brapa2011BayesHeight_blups.csv' read into memory as an object of class data.frame
blups2012 <- box_read_csv(164446639332)
Remote file '/var/folders/xr/9cbydt955pj42zfq6mc_y5g40000gn/T//RtmpYRCgLR/Brapa2012BayesHeight_blups.csv' read into memory as an object of class data.frame
blups2011$Line %<>% paste("RIL",.,sep="_")
blups2012$Line %<>% paste("RIL",.,sep="_")
head(blups2011)
head(blups2012)

Merge Data

blups.combined <- merge(blups2011,blups2012,by="Line",all=TRUE, suffixes=c(".2011",".2012"))
blups.combined %<>% subset(select=!grepl("V1|individual|blk|trt|treat",colnames(.)))
head(blups.combined)
expr.blup <- merge(blups.combined,t(expr.data),by.x="Line",by.y=0)
head(expr.blup)

Correlation

expr.blup.cor <- cor(expr.blup[,-1])

Mutual Rank

sfInit(parallel = TRUE, cpus=4)
snowfall 1.84-6.1 initialized (using snow 0.4-2): parallel execution on 4 CPUs.
expr.blup.rank <- sfApply(expr.blup.cor,2,function(x) rank(-abs(x)))
expr.blup.rank[1:10,1:10]
                UNr.2011 UNHmax.2011 UNInflect_DD UNInflect_size UNduration.2011 UNSTP.2011 UNr.2012  CRr UNHmax.2012 CRHmax
UNr.2011               1      7599.0         2510         7599.0              18       7255      262 2200      4879.0   6045
UNHmax.2011         5293         1.5            9            1.5              19          2     3732  933         8.0     11
UNInflect_DD         649       329.0            1          329.0               2        349     3684 1647       596.0    713
UNInflect_size      5292         1.5            8            1.5              20          3     3733  934         7.0     10
UNduration.2011        2       614.0            2          614.0               1        617      689  524      1353.0   1558
UNSTP.2011          4719         3.0           11            3.0              15          1     3634  908         9.0      9
UNr.2012               8      5166.0         3772         5166.0             540       5098        1    2      3841.0   3352
CRr                  152      1441.0          836         1441.0              81       1451        2    1       939.0    811
UNHmax.2012          785         6.0           13            6.0              62          6     1647  168         1.5      5
CRHmax              1856         8.0           15            8.0              66          8     1011   62         6.0      1
expr.blup.mr <- sqrt(expr.blup.rank*t(expr.blup.rank))
expr.blup.mr[1:10,1:10]
                  UNr.2011 UNHmax.2011 UNInflect_DD UNInflect_size UNduration.2011  UNSTP.2011   UNr.2012       CRr UNHmax.2012      CRHmax
UNr.2011           1.00000 6342.042810   1276.31893    6341.443684         6.00000 5851.183214   45.78209  578.2733 1957.042411 3349.555194
UNHmax.2011     6342.04281    1.500000     54.41507       1.500000       108.00926    2.449490 4390.84411 1159.5055    6.928203    9.380832
UNInflect_DD    1276.31893   54.415071      1.00000      51.303021         2.00000   61.959664 3727.74033 1173.4104   88.022724  103.416633
UNInflect_size  6341.44368    1.500000     51.30302       1.500000       110.81516    3.000000 4391.43234 1160.1267    6.480741    8.944272
UNduration.2011    6.00000  108.009259      2.00000     110.815161         1.00000   96.202911  609.96721  206.0194  289.630799  320.668053
UNSTP.2011      5851.18321    2.449490     61.95966       3.000000        96.20291    1.000000 4304.19934 1147.8275    7.348469    8.485281
UNr.2012          45.78209 4390.844110   3727.74033    4391.432340       609.96721 4304.199345    1.00000    2.0000 2515.179318 1840.888916
CRr              578.27329 1159.505498   1173.41041    1160.126717       206.01942 1147.827513    2.00000    1.0000  397.180060  224.236482
UNHmax.2012     1957.04241    6.928203     88.02272       6.480741       289.63080    7.348469 2515.17932  397.1801    1.500000    5.477226
CRHmax          3349.55519    9.380832    103.41663       8.944272       320.66805    8.485281 1840.88892  224.2365    5.477226    1.000000
sfStop()

Stopping cluster
save.image(file = "~/Box Sync/BrapaNetworks/MR.Rdata")

Get graphs at different MR

First: define some functions

Get blup networks at different MR thresholds

Use different MR thresholds of 10 to 210 (absolute values) to build the network (genes with a correlation higher than the threshold were considered connected). I then subset the network to take all genes “directly” connected to LFY.

plots

null device 
          1 
LS0tCnRpdGxlOiAiTVIgQ2x1c3RlcmluZyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKTm90ZWJvb2sgZm9yIGdlbmVyYXRpbmcgbXV0dWFsIHJhbmsgKE1SKSBjbHVzdGVycwoKYGBge3J9CmxpYnJhcnkoYm94cikKbGlicmFyeShtYWdyaXR0cikKbGlicmFyeShrbml0cikKbGlicmFyeShsaW1tYSkKbGlicmFyeShzbm93ZmFsbCkKbGlicmFyeShpZ3JhcGgpCmJveF9hdXRoKCkKYm94X3NldHdkKDI0NTAzOTg3ODYwKQpib3hfbHMoKQpgYGAKCiMjIyBGaXJzdCBhdHRlbXB0LCB1c2UgUklMIG1lYW5zCkdldCBkYXRhCmBgYHtyfQpib3hfbG9hZCgxNjIzNjI1OTI3ODUpCmxvYWQoIn4vQm94IFN5bmMvQnJhcGFOZXR3b3Jrcy9Db3VudHNWb29tLlJkYXRhIikKYGBgCgpTdW1tYXJpemUgbWVhbnMKYGBge3J9CnN0cihjb3VudHMudm9vbSkKc3VtbWFyeShjb3VudHMudm9vbSkKdm9vbS5maXQgPC0gbG1GaXQoY291bnRzLnZvb20sZGVzaWduPWNvdW50cy52b29tJGRlc2lnbikgI2FkZGl0aXZlIGRlc2lnbiBpcyBhbHJlYWR5IHRoZXJlCnZvb20uZml0IDwtIGVCYXllcyh2b29tLmZpdCkKc2F2ZSh2b29tLmZpdCxmaWxlPSJ+L0JveCBTeW5jL0JyYXBhTmV0d29ya3Mvdm9vbS5maXQuUmRhdGEiKQpgYGAKCgpgYGB7cn0KUklMLmNvZWZzIDwtIGdyZXAoIlJJTCIsY29sbmFtZXMoY29lZih2b29tLmZpdCkpKQpSSUwucHZhbHMgPC0gdG9wVGFibGUodm9vbS5maXQsY29lZiA9IFJJTC5jb2VmcyxudW1iZXIgPSBJbmYpCnN1bShSSUwucHZhbHMkYWRqLlAuVmFsPDAuMDUpCnN1bShSSUwucHZhbHMkYWRqLlAuVmFsPDEwZS0xMCkgCmBgYApTbyBwcmV0dHkgbXVjaCBldmVyeXRoaW5nIGlzIGhpZ2hseSBzaWduaWZpY2FudAoKU3RhcnQgYnkgdGFraW5nIHRoZSB0b3AgMTAwMDAKCmBgYHtyfQpnZW5lcy5vZi5pbnRlcmVzdCA8LSByb3cubmFtZXMoUklMLnB2YWxzKVsxOjEwMDAwXQpleHByLmRhdGEgPC0gdm9vbS5maXQkY29lZmZpY2llbnRzW2dlbmVzLm9mLmludGVyZXN0LF0KZXhwci5kYXRhIDwtIGV4cHIuZGF0YVssLWdyZXAoInRydCIsY29sbmFtZXMoZXhwci5kYXRhKSldCmRpbShleHByLmRhdGEpCmhlYWQoZXhwci5kYXRhKQpgYGAKCmBgYHtyfQpleHByLmRhdGFbLC0xXSA8LSBleHByLmRhdGFbLC0xXSArIGV4cHIuZGF0YVssMV0gIyBhZGQgdGhlIGludGVyY2VwdCB0byB0aGUgY29lZmZpY2llbnRzCmNvbG5hbWVzKGV4cHIuZGF0YSkgPC0gc3ViKCJwZGF0YSRSSUwiLCIiLGNvbG5hbWVzKGV4cHIuZGF0YSksZml4ZWQ9VFJVRSkKaGVhZChleHByLmRhdGEpCmBgYAoKR2V0IFJvYidzIERhdGEKYGBge3J9CmJsdXBzMjAxMSA8LSBib3hfcmVhZF9jc3YoMTY0NDQ2NTE2NDEzKQpibHVwczIwMTIgPC0gYm94X3JlYWRfY3N2KDE2NDQ0NjYzOTMzMikKYmx1cHMyMDExJExpbmUgJTw+JSBwYXN0ZSgiUklMIiwuLHNlcD0iXyIpCmJsdXBzMjAxMiRMaW5lICU8PiUgcGFzdGUoIlJJTCIsLixzZXA9Il8iKQpoZWFkKGJsdXBzMjAxMSkKaGVhZChibHVwczIwMTIpCmBgYAoKTWVyZ2UgRGF0YQpgYGB7cn0KYmx1cHMuY29tYmluZWQgPC0gbWVyZ2UoYmx1cHMyMDExLGJsdXBzMjAxMixieT0iTGluZSIsYWxsPVRSVUUsIHN1ZmZpeGVzPWMoIi4yMDExIiwiLjIwMTIiKSkKYmx1cHMuY29tYmluZWQgJTw+JSBzdWJzZXQoc2VsZWN0PSFncmVwbCgiVjF8aW5kaXZpZHVhbHxibGt8dHJ0fHRyZWF0Iixjb2xuYW1lcyguKSkpCmhlYWQoYmx1cHMuY29tYmluZWQpCmV4cHIuYmx1cCA8LSBtZXJnZShibHVwcy5jb21iaW5lZCx0KGV4cHIuZGF0YSksYnkueD0iTGluZSIsYnkueT0wKQpoZWFkKGV4cHIuYmx1cCkKYGBgCgpDb3JyZWxhdGlvbgpgYGB7cn0KZXhwci5ibHVwLmNvciA8LSBjb3IoZXhwci5ibHVwWywtMV0pCmBgYAoKTXV0dWFsIFJhbmsKYGBge3J9CnNmSW5pdChwYXJhbGxlbCA9IFRSVUUsIGNwdXM9NCkKCmV4cHIuYmx1cC5yYW5rIDwtIHNmQXBwbHkoZXhwci5ibHVwLmNvciwyLGZ1bmN0aW9uKHgpIHJhbmsoLWFicyh4KSkpCgpleHByLmJsdXAucmFua1sxOjEwLDE6MTBdCgpleHByLmJsdXAubXIgPC0gc3FydChleHByLmJsdXAucmFuayp0KGV4cHIuYmx1cC5yYW5rKSkKCmV4cHIuYmx1cC5tclsxOjEwLDE6MTBdCgpzZlN0b3AoKQpgYGAKCgpgYGB7cn0Kc2F2ZShibHVwcy5jb21iaW5lZCx2b29tLmZpdCxleHByLmJsdXAsZXhwci5ibHVwLm1yLGZpbGUgPSAifi9Cb3ggU3luYy9CcmFwYU5ldHdvcmtzL01SLlJkYXRhIikKYGBgCgpHZXQgZ3JhcGhzIGF0IGRpZmZlcmVudCBNUgoKRmlyc3Q6IGRlZmluZSBzb21lIGZ1bmN0aW9ucwogCmBgYHtyIG1yX3N1YmdyYXBocywgZWNobz1GQUxTRSwgY2FjaGUubGF6eT1GQUxTRSwgd2FybmluZz1GQUxTRSwgZXZhbD1UUlVFIH0KbG9hZCgifi9Cb3ggU3luYy9CcmFwYU5ldHdvcmtzL01SLlJkYXRhIikKZ2V0Lm1yLnN1YmdyYXBoIDwtIGZ1bmN0aW9uKG1yLmN1dG9mZixtci5tYXRyaXgsYW5ub3RhdGlvbj1OQSxuZWlnaGJvcmhvb2Qsb3JkZXI9MSkgewogICNmdW5jdGlvbiB0byBleHRyYWN0IExGWSBncmFwaCBhdCBhIHNwZWNpZmljZWQgY29ycmVsYXRpb24gY3V0b2ZmCiAgZ2VuZS5tci50bXAgPC0gbXIubWF0cml4CiAgZ2VuZS5tci50bXBbYWJzKGdlbmUubXIudG1wKSA+IG1yLmN1dG9mZl0gPC0gMAogIGdlbmUubXIudG1wW2lzLm5hKGdlbmUubXIudG1wKV0gPC0gMCAjaW1wb3J0YW50ISBvdGhlcndpc2UgdmVydGljZXMgd2l0aCBOQSBlZGdlcyBhcmUgY29ubmVjdGVkCiAgCiAgZ2VuZS5ncmFwaCA8LSBncmFwaC5hZGphY2VuY3koYWRqbWF0cml4ID0gZ2VuZS5tci50bXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT0idW5kaXJlY3RlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0ZWQ9Im1yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFnPUZBTFNFKQogIAogICNjbHVzdC5tZW1iZXJzaGlwIDwtIGNsdXN0ZXJzKGdlbmUuZ3JhcGgpJG1lbWJlcnNoaXAKICAKICAjY29sYmFyIDwtIHJhaW5ib3cobWF4KGNsdXN0Lm1lbWJlcnNoaXApKzEpICAgICAgICAgICAgICAgICAjZGVmaW5lIGNvbG9ycwogICNWKGdlbmUuZ3JhcGgpJGNvbG9yIDwtIGNvbGJhcltjbHVzdC5tZW1iZXJzaGlwKzFdICAgICAgICAgICAgICNhc3NpZ24gY29sb3JzIHRvIG5vZGVzCiAgc3ViLmdyYXBocyA8LSBncmFwaC5uZWlnaGJvcmhvb2QoZ2VuZS5ncmFwaCxvcmRlcj1vcmRlcixub2Rlcz1uZWlnaGJvcmhvb2QpICNmb3IgZWFjaCBuZG9lIG9mIGludGVyZXN0IGdldCBhbGwgb3RoZXIgbm9kZXMgd2l0aGluIG9yZGVyIG9mIDEKICAKICAjZ2V0IGNvbWJuaW5lZCBsaXN0IG9mIHZlcnRpY2VzLi4uCiAgCiAgc3ViLnZlcnRpY2VzIDwtIHVuaXF1ZShuYW1lcyh1bmxpc3Qoc2FwcGx5KHN1Yi5ncmFwaHMsIFYpKSkpCiAgCiAgY29tYmluZWQuc3ViLmdyYXBoIDwtIGluZHVjZWRfc3ViZ3JhcGgoZ2VuZS5ncmFwaCxzdWIudmVydGljZXMpCiAgCiAgVihjb21iaW5lZC5zdWIuZ3JhcGgpJGNvbG9yIDwtICJsaWdodGJsdWUiCiAgVihjb21iaW5lZC5zdWIuZ3JhcGgpW25laWdoYm9yaG9vZF0kY29sb3IgPC0gInJlZCIKICBpZighaXMubmEoYW5ub3RhdGlvbikpIFYoY29tYmluZWQuc3ViLmdyYXBoKSRnZW5lIDwtIGFubm90YXRpb24kU1lNQk9MW21hdGNoKFYoY29tYmluZWQuc3ViLmdyYXBoKSRuYW1lLGFubm90YXRpb24kVEFJUildCiAgbGlzdChjdXRvZmY9bXIuY3V0b2ZmLGdyYXBoPWNvbWJpbmVkLnN1Yi5ncmFwaCkKICB9CmBgYAoKIyMgR2V0IGJsdXAgbmV0d29ya3MgYXQgZGlmZmVyZW50IE1SIHRocmVzaG9sZHMKVXNlIGRpZmZlcmVudCBNUiB0aHJlc2hvbGRzIG9mIDEwIHRvIDIxMCAoYWJzb2x1dGUgdmFsdWVzKSB0byBidWlsZCB0aGUgbmV0d29yayAoZ2VuZXMgd2l0aCBhIGNvcnJlbGF0aW9uIGhpZ2hlciB0aGFuIHRoZSB0aHJlc2hvbGQgd2VyZSBjb25zaWRlcmVkIGNvbm5lY3RlZCkuICBJIHRoZW4gc3Vic2V0IHRoZSBuZXR3b3JrIHRvIHRha2UgYWxsIGdlbmVzICJkaXJlY3RseSIgY29ubmVjdGVkIHRvIExGWS4KCmBgYHtyIGxmeV9zdWIsIGVjaG89RkFMU0UsIGV2YWw9RkFMU0V9CmN1dG9mZnMgPC0gYygxMCwyMCwzMCw1MCw4MCwxMDAsMTMwLDIxMCkKYmx1cC5tci5ncmFwaHMgPC0gbGFwcGx5KGN1dG9mZnMsIGdldC5tci5zdWJncmFwaCwgbXIubWF0cml4ID0gZXhwci5ibHVwLm1yLCBhbm5vdGF0aW9uPSBOQSwgbmVpZ2hib3Job29kID0gY29sbmFtZXMoYmx1cHMuY29tYmluZWQpWy0xXSkKbmFtZXMoYmx1cC5tci5ncmFwaHMpIDwtIHNhcHBseShibHVwLm1yLmdyYXBocywgZnVuY3Rpb24oeCkgcGFzdGUoImJsdXAubXIuZ3JhcGgiLHgkY3V0b2ZmLHNlcD0iLiIpKQpgYGAKCiMjIHBsb3RzCgpgYGB7ciBwbG90LCBlY2hvPUZBTFNFLCBjYWNoZT1UUlVFfQpjdXRvZmY9MjAwCnBkZigiYmx1cC5tci5wbG90cy5wZGYiLGhlaWdodD0xMix3aWR0aD0xMikKcmVzdWx0IDwtIHNhcHBseShibHVwLm1yLmdyYXBocyxmdW5jdGlvbiAoYmx1cC5ncmFwaCkgewogIGlmKGJsdXAuZ3JhcGgkY3V0b2ZmIDw9IGN1dG9mZikgewogICAgRShibHVwLmdyYXBoJGdyYXBoKSR3ZWlnaHQgPC0gcmFuayhFKGJsdXAuZ3JhcGgkZ3JhcGgpJG1yKV4oMS80KQogICAgcGxvdChibHVwLmdyYXBoJGdyYXBoLAogICAgICAgICBsYXlvdXQgPSBsYXlvdXRfd2l0aF9raywgCiAgICAgICAgIHZlcnRleC5sYWJlbCA9ICNpZmVsc2UoaXMubmEoVihibHVwLmdyYXBoJGdyYXBoKSRnZW5lKXxWKGJsdXAuZ3JhcGgkZ3JhcGgpJGdlbmU9PSIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVihibHVwLmdyYXBoJGdyYXBoKSRuYW1lICwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBWKGJsdXAuZ3JhcGgkZ3JhcGgpJGdlbmUpLAogICAgICAgICB2ZXJ0ZXgubGFiZWwuY2V4PTEsCiAgICAgICAgIG1haW49cGFzdGUoIk1SIGN1dG9mZiA9IixzdWIoImJsdXAubXIuZ3JhcGguIiwiIixibHVwLmdyYXBoJGN1dG9mZixmaXhlZD1UKSkpCiAgICBybShibHVwLmdyYXBoKQogICAgfQogIH0pCmRldi5vZmYoKQpgYGA=